package com.qing.base;

/**
 * 可变参数
 * 通过...来声明此参数可传多个值，并且一个方法中只能有一个可变参数，也必须是方法参数的最后一个，任何普通的参数都得在他前面声明
 */
public class VariableParam {
    //...是声明多个相同类型的变量,只可以放到最后面
    public static void manyVariable(int... num) {
        System.out.println(num[0]);
    }

    //通过可变参数来判断传的多值中哪个最大
    public static void printMaxNum(double... nums) {
        if (nums.length == 0) {
            System.out.println("No Data！");
            //没有数组强制退出方法
            return;
        }
        int maxNum = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] > maxNum) {
                maxNum = (int) nums[i];
            }
        }
        System.out.println("最大的数字是：" + maxNum);
    }

    public static void main(String[] args) {
        //可以传输数组类型
        manyVariable(new int[]{1, 2, 3});
        //也可以传多个相同类型的数字
        manyVariable(3, 4);

        printMaxNum();
        printMaxNum(new double[]{99, 88, 100, 20, 11, 0, 23});
        printMaxNum(77, 99, 88, 22, 102, 921, 99, 711);
    }
}
